package com.huahang.fashionpress.service;

import com.huahang.fashionpress.enums.OrderEnum;
import com.huahang.fashionpress.dataobject.PageOrderMasterList;
import com.huahang.fashionpress.form.FormOrder;
import com.huahang.fashionpress.form.FormProduct;
import com.huahang.fashionpress.model.Order;
import com.huahang.fashionpress.model.Product;
import com.huahang.fashionpress.vo.OrderDetailVO;
import com.huahang.fashionpress.vo.OrderMasterVO;
import org.springframework.boot.autoconfigure.info.ProjectInfoProperties;

import java.util.HashMap;
import java.util.List;

/**
 * @Author: 阿俊哥
 * @Date: 2019/8/26 17:02
 * @Version 1.0
 *
 * 更新
 * @author : 王翰聪
 * @since : 2019/08/26
 * @version : 1.1
 * 添加了新增订单的方法
 *
 * @since : 2019/08/28
 * @version : 1.2
 * 添加了根据用户id查询订单方法
 * 添加了根据用户id和订单状态查询的方法
 */
public interface OrderService {


    /**
     * 添加一个订单方法
     * 先添加商品详情，之后查询该订单编号，再插入订单-商品表
     * @param formOrder 订单详情
     * @param productList 订单商品列表
     * @return
     */
    String addSingleOrder(FormOrder formOrder, List<FormProduct> productList);

    List<OrderMasterVO> selectOrderListByUserID(Integer userID);
    List<OrderMasterVO> selectOrderListByUserIDAndStatus(Integer userID, OrderEnum orderEnum);

//    List<OrderMasterVO> selectOrderList();
    PageOrderMasterList selectOrderList(int size, int pagenum);

    /*修改订单的状态 为待收货状态和订单完成状态*/
    boolean updateOrderStatus(String orderId,int orderStatus);


    /*查询订单详情*/
    List<OrderDetailVO> selectOrderDetails(String orderId);

    OrderMasterVO selectOrderById(String orderId);


}
